.flex
   {
      /* basic styling */
      height: 600px;
      width: 350px;
      border: 5px solid #555;
      font: 14px Arial;
      margin: auto;
      text-align: center;
      font-size: 25px;
      font-family: serif;



      /* flexbox setup */
      display: -webkit-flex;
      -webkit-flex-direction: column;

      display: flex;
      flex-direction: column;
   }

   .flex > div
   {
      -webkit-flex: 1 1 auto;
      flex: 1 1 auto;

      height: 30px; /* To make the transition work nicely.  (Transitions to/from
                      "height:auto" are buggy in Gecko and Webkit, at least.
                      See http://bugzil.la/731886 for more info.) */

      -webkit-transition: height 0.7s ease-out;
      transition: height 0.7s ease-out;
   }

   /* colors */
   .flex > div:nth-child(1){ background : #ff1900; }
   .flex > div:nth-child(2){ background : #ffdd00; }
   .flex > div:nth-child(3){ background : #9900ff; }

   .flex > div:hover
   {
        height: 200px;
   }
   h1 {
    font-size: 50px;
    text-align: center;
   }
   body {
    background-color: #b4c7db;
   }